package com.netafull.util;

import com.netafull.R;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.widget.Toast;

public class NetUtil {

	// 侦听网络状态的变化
	public void onReceive(Context context, Intent intent) {
		ConnectivityManager connectivityManager = (ConnectivityManager) context
				.getSystemService(Context.CONNECTIVITY_SERVICE);
		NetworkInfo info = connectivityManager.getActiveNetworkInfo();
		if (info != null && info.isConnected()) {
			// 判断当前网络是否已经连接
			if (info.getState() == NetworkInfo.State.CONNECTED) {
				//Toast.makeText(context, "ok", Toast.LENGTH_SHORT).show();
			} else {
				//Toast.makeText(context, "err", Toast.LENGTH_SHORT).show();
			}
		} else {
			//Toast.makeText(context, "err", Toast.LENGTH_SHORT).show();
		}
	}

	/*
	 * 无法连接到网络，请检查网络配置
	 * ネットワークに接続できない、ネットワーク構成を確認してください
	 */
	// 提示用户网络异常
	public static void alertNetError(final Activity context) {
		AlertDialog.Builder ab = new AlertDialog.Builder(context);
		// 设定标题
		//ab.setTitle(R.string.prompt);
		// 设定标题
		ab.setMessage("受信に失敗しました。しばらくお試しください。");
		// 设定退出按钮
		ab.setNegativeButton(R.string.determine, new OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				// TODO Auto-generated method stub

				dialog.cancel();
				context.finish();
			}
		});
		// 网络设置按钮
		/*ab.setPositiveButton(R.string.determine, new OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				// TODO Auto-generated method stub
				dialog.dismiss();
				context.startActivityForResult(new Intent(
						android.provider.Settings.ACTION_WIRELESS_SETTINGS), 0);
			}
		});*/
		ab.create().show();
	}

	public static boolean checkNet(Context context) {// 获取手机所有连接管理对象（包括对wi-fi,net等连接的管理）
		try {
			ConnectivityManager connectivity = (ConnectivityManager) context
					.getSystemService(Context.CONNECTIVITY_SERVICE);
			if (connectivity != null) {
				// 获取网络连接管理的对象
				NetworkInfo info = connectivity.getActiveNetworkInfo();
				if (info != null && info.isConnected()) {
					// 判断当前网络是否已经连接
					if (info.getState() == NetworkInfo.State.CONNECTED) {
						return true;
					}
				}
			}
		} catch (Exception e) {
		}
		return false;
	}
}
